# Makefile for compiling multiple C programs  

# 源文件列表  
SRCS = cp1.c echostate.c stat1.c filesize.c ls1.c mode2letters.c ls12.c ls2.c setecho.c spwd.c testioctl.c who1.c who2.c 

# 由源文件生成的可执行文件（去掉扩展名）  
PROGS = $(SRCS:.c=)  

# 编译器和编译选项  
CC = gcc  
CFLAGS = -Wall -g  

# 默认目标  
all: $(PROGS)  who3 

# 针对每个源文件生成目标  
%: %.c  
	$(CC) $(CFLAGS) -o $@ $<  

who3: who3.c utmplib.c utmplib.h
	gcc who3.c utmplib.c -o who3

# 清理目标  
clean:  
	rm -f $(PROGS)
	rm -f who3
